var intCorrelativo = 1;
var intEmpresa = 1;
var strSimbolo = "L ";

function fntAnulacionGrabar() {
    
    var objEstatus = $("input[name='hdnAnulacionEstatus']");
    
    if( objEstatus.val().length == 0 ) {
        
        $('input[name="txtAnulacionValor"]').toNumber();
        $('input[name*="txtDebe_"]').toNumber();
        $('input[name*="txtHaber_"]').toNumber();
        $('input[name="txtTotalDebe"]').toNumber();
        $('input[name="txtTotalHaber"]').toNumber();
        
        var objInterface = $("#div-anulacion-mensajes");
        objInterface.html("");
        $.ajax({

            type: "POST",
            data: $("#frmBancosAnulacion").serialize(),
            url: "admin_bancos_anulacion_data.php?operation=s",
            beforeSend:function() {
                fntOpenDialogCargando();
            },
            success:function(data) {
                objInterface.html(data);
                //fntGetCuentas();
                /*$("#frm_cuentas").each (function(){
                  this.reset();
                });*/
                fntCloseDialogCargando();
            },
            error:function() {
                fntCloseDialogCargando();
            }

        });
    }
    else {
        alert("Documento ya anulado.");
    }
    
}
function fntAnulacionContenidoPrimero() {
    
    var objInterface = $("#div-anulacion-contenido");
    objInterface.html("");
    $.ajax({

        type: "POST",
        data: $("#frmBancosAnulacion").serialize(),
        url: "admin_bancos_anulacion_data.php?operation=contenido",
        beforeSend:function() {
            fntOpenDialogCargando();
        },
        success:function(data) {
            objInterface.html(data);
            fntCloseDialogCargando();
        },
        error:function() {
            fntCloseDialogCargando();
        }

    });
    
}
function fntAnulacionContenidoSegundo() {
    
    var objInterface1 = $("#div-anulacion-primero");    
    var objInterface2 = $("#div-anulacion-segundo");

    if( $("input[name='radAnulacionDocumento']:checked").val() != undefined ) {
        objInterface2.html("");
        $.ajax({

            type: "POST",
            data: $("#frmBancosAnulacion").serialize(),
            url: "admin_bancos_anulacion_data.php?operation=contenido_2",
            beforeSend:function() {
                fntOpenDialogCargando();
            },
            success:function(data) {
                objInterface2.html(data);
                objInterface1.hide();
                objInterface2.show();
                fntCloseDialogCargando();
            },
            error:function() {
                fntCloseDialogCargando();
            }

        });
    }
    else {
        alert("Seleccione documento.");
    }
    
}
function fntAnulacionDrawNewLine(id, strCuentaId, strCuentaNombre, strTipo, strMonto ) {
    
    var strHTML = "";
    var strStyle = "";
    var empresa = 0;
    var boolEdit = true;
    if( typeof(strCuentaId) == "undefined" ) {
        strCuentaId = "";
        strCuentaIdNombre = "";   
    }
    else {
        boolEdit = false;
        strCuentaIdNombre = strCuentaId+" - "+strCuentaNombre;
    }
    if( typeof(strCuentaNombre) == "undefined" ) strCuentaNombre = "";
    if( typeof(strTipo) == "undefined" ) strTipo = "";
    if( typeof(strMonto) == "undefined" ) {
        strMonto = "";
        strMontoDebe = "";
        strMontoHaber = "";
    }
    else {
        strStyle = "display:none";
        if( strTipo=="d" ) {
            strMontoDebe = strMonto;            
            strMontoHaber = "";
        }
        if( strTipo=="h" ) {
            strMontoDebe = "";
            strMontoHaber = strMonto;
        }
    }
    
    strHTML =   '<div style="float: left; width: 400px; height: 30px; text-align:left;">'
                +'<input type="text" name="txtSerch_'+id+'" id="txtSerch_'+id+'" value="" size = "50" style="'+strStyle+'" />'
                +'<input type="hidden" name="hdnCuenta_'+id+'" id="hdnCuenta_'+id+'" value="'+strCuentaId+'" />'
                +'<div id="divCuenta_'+id+'" title="Hacer doble click para seleccionar otra cuenta." style="text-align:left;">'+strCuentaIdNombre+'</div>'
                +'</div>'
                +'<div style="float: left; width: 250px; height: 30px;"><input type="text" name="txtDebe_'+id+'" id="txtDebe_'+id+'" value="'+strMontoDebe+'" style="text-align: right;" readonly></div>'
                +'<div style="float: left; width: 250px; height: 30px;"><input type="text" name="txtHaber_'+id+'" id="txtHaber_'+id+'" value="'+strMontoHaber+'" style="text-align: right;" readonly></div>';
    $("#frmPartidas-detalle").append(strHTML);
    
    $('input[name="txtDebe_'+id+'"]').blur(function() {
        $(this).formatCurrency({ colorize: true, negativeFormat: '-%s%n', roundToDecimalPlace: 2, symbol: strSimbolo });
    }).keyup(function(e) {
        var e = window.event || e;
        var keyUnicode = e.charCode || e.keyCode;
        if (e !== undefined) {
            switch (keyUnicode) {
                case 16: break; // Shift
                case 17: break; // Ctrl
                case 18: break; // Alt
                case 27: this.value = ''; break; // Esc: clear entry
                case 35: break; // End
                case 36: break; // Home
                case 37: break; // cursor left
                case 38: break; // cursor up
                case 39: break; // cursor right
                case 40: break; // cursor down
                case 78: break; // N (Opera 9.63+ maps the "." from the number key section to the "N" key too!) (See: http://unixpapa.com/js/key.html search for ". Del")
                case 110: break; // . number block (Opera 9.63+ maps the "." from the number block to the "N" key (78) !!!)
                case 190: break; // .
                default: $(this).formatCurrency({ colorize: true, negativeFormat: '-%s%n', roundToDecimalPlace: -1, symbol: strSimbolo, eventOnDecimalsEntered: true });
            }
        }
    });
    
    $('input[name="txtHaber_'+id+'"]').blur(function() {
        $(this).formatCurrency({ colorize: true, negativeFormat: '-%s%n', roundToDecimalPlace: 2, symbol: strSimbolo });
    }).keyup(function(e) {
        var e = window.event || e;
        var keyUnicode = e.charCode || e.keyCode;
        if (e !== undefined) {
            switch (keyUnicode) {
                case 16: break; // Shift
                case 17: break; // Ctrl
                case 18: break; // Alt
                case 27: this.value = ''; break; // Esc: clear entry
                case 35: break; // End
                case 36: break; // Home
                case 37: break; // cursor left
                case 38: break; // cursor up
                case 39: break; // cursor right
                case 40: break; // cursor down
                case 78: break; // N (Opera 9.63+ maps the "." from the number key section to the "N" key too!) (See: http://unixpapa.com/js/key.html search for ". Del")
                case 110: break; // . number block (Opera 9.63+ maps the "." from the number block to the "N" key (78) !!!)
                case 190: break; // .
                default: $(this).formatCurrency({ colorize: true, negativeFormat: '-%s%n', roundToDecimalPlace: -1, symbol: strSimbolo, eventOnDecimalsEntered: true });
            }
        }
    });
    $("input[name='txtDebe_"+id+"']").formatCurrency({ colorize: true, negativeFormat: '-%s%n', roundToDecimalPlace: 2, symbol: strSimbolo });
    $("input[name='txtHaber_"+id+"']").formatCurrency({ colorize: true, negativeFormat: '-%s%n', roundToDecimalPlace: 2, symbol: strSimbolo });
    
    if( boolEdit ) {
        $("#divCuenta_"+id).dblclick( function () { 
        $("input[name='hdnCuenta_"+id+"']").val("");
        $(this).html("");
        $("#txtSerch_"+id).show();
        $("#txtSerch_"+id).select();
    });
    }
}

function fntAnulacionGetTotales() {
    sinTotalDebe = 0;
    sinTotalHaber = 0;
    
    $("input[name*='txtDebe_']").each( function() {
        arrSplit = $(this).attr("name").split("_");
        
        if( $("#hdnCuenta_"+arrSplit[1]).val().length > 0 ) {
            sinTotalDebe += $(this).asNumber() * 1;
            sinTotalDebe = sinTotalDebe * 100;
            sinTotalDebe = Math.round(sinTotalDebe);
            sinTotalDebe = sinTotalDebe / 100
        }
    });
        
    $("input[name*='txtHaber_']").each( function() {
        arrSplit = $(this).attr("name").split("_");
        
        if( $("#hdnCuenta_"+arrSplit[1]).val().length > 0 ) {
            sinTotalHaber += $(this).asNumber() * 1;
            sinTotalHaber = sinTotalHaber * 100;
            sinTotalHaber = Math.round(sinTotalHaber);
            sinTotalHaber = sinTotalHaber / 100
        }
            
    });    
    var sinTotalD = new Number( sinTotalDebe );
    sinTotalDebe = sinTotalD.toFixed(2);
    var sinTotalH = new Number( sinTotalHaber );
    sinTotalHaber = sinTotalH.toFixed(2);
    
    $("input[name='txtTotalDebe']").val(sinTotalDebe);
    $("input[name='txtTotalHaber']").val(sinTotalHaber);
    
    $('input[name="txtTotalDebe"]').formatCurrency({ colorize: true, negativeFormat: '-%s%n', roundToDecimalPlace: 2, symbol: strSimbolo });
    $('input[name="txtTotalHaber"]').formatCurrency({ colorize: true, negativeFormat: '-%s%n', roundToDecimalPlace: 2, symbol: strSimbolo });    
    
    if( sinTotalDebe == sinTotalHaber ) {
        $("#btnAnulacionGrabar").button( "enable" );
    }
    else {
        $("#btnAnulacionGrabar").button( "disable" );
    }
}

$(function() {
    
    $("select[name='sltAnulacionEmpresa']").change( function() {
        fntAnulacionContenidoPrimero();
    });
    $("select[name='sltAnulacionTipo']").change( function() {
        fntAnulacionContenidoPrimero();        
    });
    
    $("#btnAnulacionBuscar").button({
        icons: {
            secondary: "ui-icon-search"
        }
    }).click( function () {
        fntAnulacionContenidoPrimero();
    });
    
    $("#div-anulacion-seguir").button({
        icons: {
            secondary: "ui-icon-seek-next"
        }
    }).click( function () {
        fntAnulacionContenidoSegundo();
    });
    
    //fntAnulacionContenidoPrimero();
    
});